package com.battle.pojo.vo.exam;

import com.battle.pojo.param.exam.CreateAppointQuestionParam;
import com.battle.pojo.param.exam.CreateRandomQuestionParam;
import jakarta.persistence.Column;
import lombok.Data;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.time.*;
import java.util.List;

/**
* 【描 述】：获取考试管理列表VO
* 【环 境】：J2SE 17
* 【详 细】：
*
*/
@Data
public class GetExamListVo {

    /**
    *   id
    */
    private Long id;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 创建人
     */
    private String createName;

    /**
     * 参与人员数量
     */
    private Integer participantCount;

    /**
     * 考核标题
     */
    @Column()
    private String name;

    /**
     * 是否永久
     */
    @Column()
    private Boolean isPermanent;

    /**
     * 考核开始时间
     */
    @Column()
    private LocalDateTime startTime;

    /**
     * 考核结束时间
     */
    @Column()
    private LocalDateTime endTime;

    /**
     * 状态：0未发布 1待开始 2考核中 3已完成
     */
    @Column()
    private Integer status;

    /**
     * 考核时长（分钟）
     */
    @Column()
    private Integer duration;

    /**
     * 补考次数
     */
    @Column()
    private Integer retestCount;

    /**
     * 总分数
     */
    @Column()
    private BigDecimal totalScore;

    /**
     * 平均分数=总分数/总题目数量
     */
    @Column()
    private BigDecimal averageScore;

    /**
     * 及格分数
     */
    @Column()
    private BigDecimal passScore;

    /**
     * 总题目数量
     */
    @Column()
    private Integer totalQuestionCount;

    /**
     * 单选题数量
     */
    @Column()
    private Integer singleChoiceCount;

    /**
     * 多选题数量
     */
    @Column()
    private Integer multipleChoiceCount;

    /**
     * 判断题数量
     */
    @Column()
    private Integer judgeCount;

    /**
     * 考核范围ids集合
     */
    @Column()
    private List<Long> examScopeIds;

    /**
     * 考核范围名称
     */
    private List<String> examScopeNames;

    /**
     * 考核题库ids集合
     */
    @Column()
    private List<Long> questionBankIds;

    /**
     * 是否是随机题目
     */
    @Column()
    private Boolean isRandomQuestion;
}
